HTML est langage de balises issu du langage SGML. XHTML est une refonte de HTML àpartir du langage XML, plus strict que SGML. Comme XHTML et HTML n'ont pas les mêmes langages parents, des différences existent :
<br>
devient <br/>
<head>
…</head>
et <body>
…</body>
La norme ISO/CEI-10646-10646 définit une table de caractères appelée « jeu universel de caractères codés » (JUC), ou « universal character set » (UCS) en anglais. Cette table contient environ 110000 caractères issus du monde entier. Chaque caractère du JUC est identifié par un point de code noté U+x, où x est un entier hexadécimal positif comportant de 4 à 6 chiffres :
Chaque caractère du JUC possède également un nom, par exemple, la lettre A majuscule de notre alphabet latin s'appelle « LATIN CAPITAL LETTER A » et a pour point de code U+0041.
Le standard Unicode est lié à la norme ISO/CEI-10646 car il reprend le JUC et y ajoute des règles de gestion : collation, codage, sérialisation… Unicode accepte plusieurs méthodes de codage pour représenter un point de code valide : UTF-8, UTF-16 et UTF-32. Le nombre derrière le sigle UTF est le nombre de bits minimal d'une unité de code, appelée « codet ».
Le codage le plus utilisé est UTF-8, qui est un codage de longueur variable dont les codets sont des unités de 8 bits. En UTF-8 un point de code U+n se code sur un, deux, trois ou quatre octets en fonction du nombre de bits nécessaires pour coder n. Si n appartient au code ASCII (7 bits), alors n est compris entre 00 et 7F et se code sur un seul octet avec 0 comme bit de poids fort. UTF-8 est donc entièrement compatible avec le code ASCII. Dans les autres cas, les bits de poids fort du premier octet commencent par une suite de 1 suivie d'un 0. Le nombre de 1 indique le nombre total d'octets dans le codage de U+n. Les deux bits de poids fort de tous les octets qui suivent portent toujours la marque 10. Un point de code codé en UTF-8 aura donc l'une des quatre formes suivantes :
0xxxxxxxx
: jusqu'à 7 bits110xxxxxx 10xxxxxx
: entre 8 et 11 bits1110xxxxx 10xxxxxx 10xxxxxx
: entre 12 et 16 bits11110xxxx 10xxxxxx 10xxxxxx 10xxxxxx
: entre 17 et 21 bitsQuand plusieurs formes sont possibles, seule la plus courte est considérée comme valide. Les bits x correspondent simplement au codage de n en binaire cadré à droite et éventuellement complété par des 0 à gauche.
page de codes cp859
page de codes cp1252
.--. .-'''-. .--. /."".v'.-. .-.`v.""\\ || / / O| | O\ \ || \\_/| \__| |__/ \_// `-'\ .-n-n-. /`-' _.-\/ \/-._ .' (\`.___.'/) `. / \`.___.'/ `. / `.___.' \ | | \ \ | | . . |\ \ | | | \ \ \ \ | \ \ \ \ |.' `. \ `. \ .' `. \ _.._ `. `-. ___ / /`. `. .' `-._ `. `.__) .' / `. | `-.\ \/ .' / /\ )|\. \ _/ / /|/ .' (_/ / / | \) `._ (__/_/-/ ..' (_/| |\_) ``--._____.-( `. `-' `--. `. (_/\ \\\ /_///